package com.cxh.rmsq.ui.widget;

import android.content.Context;
import android.graphics.LinearGradient;
import android.graphics.Shader;
import android.util.AttributeSet;
import androidx.appcompat.widget.AppCompatTextView;

public class GradientTextView extends AppCompatTextView {
    private int startColor;
    private int endColor;

    public GradientTextView(Context context) {
        super(context);
        init();
    }

    public GradientTextView(Context context, AttributeSet attrs) {
        super(context, attrs);
        init();
    }

    public GradientTextView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        init();
    }

    private void init() {
        // 默认颜色（可通过代码或自定义属性修改）
        startColor = 0xFFFF0000; // 红色
        endColor = 0xFF0000FF; // 蓝色
    }

    @Override
    protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
        super.onLayout(changed, left, top, right, bottom);
        if (changed) {
            // 创建垂直渐变（从上到下）
            LinearGradient gradient = new LinearGradient(
                    0, 0, // 起始点 X, Y
                    0, getHeight(), // 结束点 X, Y (垂直方向)
                    startColor,
                    endColor,
                    Shader.TileMode.CLAMP
            );
            getPaint().setShader(gradient);
        }
    }

    // 可选：通过代码设置渐变颜色
    public void setGradientColors(int startColor, int endColor) {
        this.startColor = startColor;
        this.endColor = endColor;
        requestLayout(); // 触发重新绘制
    }
}
